package com.qdlc.p2p.dal.mybatis.model.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.qdlc.p2p.dal.dto.AccountLog;
import com.qdlc.p2p.dal.model.AccountLogModel;


public interface AccountLogMapper {

	/**
	 * 插入记录，返回主键ID
	 * @param accountLog
	 * @return
	 */
	long insert(AccountLog accountLog);
	
	
	/**
	 * 查询用户交易记录
	 * @param userId 用户ID
	 * @param count  限制查询记录条数
	 * @return
	 */
	List<AccountLogModel> findAccountLogByUserId(@Param("userId")long userId, @Param("count")int count);
	
	/**
	 * 根据类型按月统计金额
	 * @param type
	 * @param month
	 * @return
	 */
	Double monthAmountByType(@Param("type")String type, @Param("month")String month);
	
	/**
	 * 获取用户累计净收益，如果userId < 0，则累计所有用户净收益
	 * @param userId 用户ID
	 * @return
	 */
	Double earnAmount(@Param("userId")long userId, @Param("today")String today);
	
	/**
	 * 根据Model条件查询
	 * @param model
	 * @return
	 */
	List<AccountLogModel> findByModel(AccountLogModel model);
	
	/**
	 * 根据用户名或真实姓名查询
	 * @param userName
	 * @return
	 */
	List<AccountLogModel> findByUserName(@Param("userName")String userName);

	/**
	 * 根据Model条件查询
	 * @param model
	 * @return
	 */
	List<AccountLogModel> list(AccountLogModel model);
}